package com.mercury.ec.module.air.enums;

import com.mercury.ec.framework.common.exception.ErrorCode;

/**
 * Air 错误码枚举类
 *
 * air 系统，使用 1906100000 段
 */
public interface ErrorCodeConstants {

    // 机票需求单
    ErrorCode AIR_DEMAND_ORDER_NOT_EXISTS = new ErrorCode(1906100000, "机票需求订单不存在");
    ErrorCode AIR_DEMAND_ORDER_NO_EXISTS = new ErrorCode(1906100001, "机票需求订单号已经存在");
    ErrorCode AIR_DEMAND_ORDER_CANCELED_NOT_ALLOW_SUBMIT = new ErrorCode(1906100002, "订单已取消不能提交，请刷新后检查订单状态");
    ErrorCode AIR_DEMAND_ORDER_SUBMITED_NOT_ALLOW_SUBMIT = new ErrorCode(1906100003, "订单已提交，无需重复操作，请刷新后检查订单状态");
    ErrorCode AIR_DEMAND_ORDER_CANCELED_NOT_ALLOW_CANCEL = new ErrorCode(1906100004, "订单已取消，无需重复操作，请刷新后检查订单状态");
    ErrorCode AIR_DEMAND_ORDER_SUBMITED_NOT_ALLOW_CANCEL = new ErrorCode(1906100005, "订单已提交，不允许取消，请刷新后检查订单状态");
    ErrorCode AIR_DEMAND_ORDER_LOCKED_NOT_ALLOW_LOCK = new ErrorCode(1906100006, "订单已被【{}】锁定，请刷新后检查锁订状态");
    ErrorCode AIR_DEMAND_ORDER_UNLOCKED_NOT_ALLOW_UNLOCK = new ErrorCode(1906100007, "订单未锁定，无需解锁，请刷新后检查锁订状态");
    ErrorCode AIR_DEMAND_ORDER_NOT_LOCKER_NOT_ALLOW_UNLOCK = new ErrorCode(1906100010, "您不是锁定人，请联系【{}】进行解锁");
    ErrorCode AIR_DEMAND_ORDER_NOT_LOCKER_NOT_ALLOW_QUOTE = new ErrorCode(1906100011, "请先锁定订单再进行报价");
    ErrorCode AIR_DEMAND_ORDER_NOT_SUBMIT_NOT_ALLOW_QUOTE = new ErrorCode(1906100012, "订单未提交，请提交后再报价");
    ErrorCode AIR_DEMAND_ORDER_NOT_QUOTE_NOT_ALLOW_PRICING = new ErrorCode(1906100013, "订单未报价，请报价后再核价");
    ErrorCode AIR_DEMAND_ORDER_NOT_LOCKER_NOT_ALLOW_PRICING = new ErrorCode(1906100014, "请先锁定订单再进行核价");

    // 机票需求单方案
    ErrorCode AIR_DEMAND_SCHEME_NOT_EXISTS = new ErrorCode(1906101000, "机票需求订单方案不存在");
    ErrorCode AIR_DEMAND_SCHEME_SERIALNO_NOT_UNIQUE = new ErrorCode(1906101001, "机票需求订单方案编号【{}】重复");
    ErrorCode AIR_DEMAND_SCHEME_SERIALNO_EXISTS = new ErrorCode(1906101002, "机票需求订单方案编号【{}】已存在");

    // 机票需求单方案行程
    ErrorCode AIR_DEMAND_ROUTE_NOT_EXISTS = new ErrorCode(1906102000, "机票需求订单方案行程不存在");
    ErrorCode AIR_DEMAND_ROUTE_SERIALNO_NOT_UNIQUE = new ErrorCode(1906102001, "机票需求订单方案行程编号【{}】重复");
    ErrorCode AIR_DEMAND_ROUTE_SERIALNO_EXISTS = new ErrorCode(1906102002, "机票需求订单方案行程编号【{}】已存在");

    // 机票需求单行程航段
    ErrorCode AIR_DEMAND_ROUTE_SEGMENT_NOT_EXISTS = new ErrorCode(1906103000, "机票需求订单方案行程航段不存在");
    ErrorCode AIR_DEMAND_ROUTE_SEGMENT_SERIALNO_NOT_UNIQUE = new ErrorCode(1906103001, "机票需求订单方案行程航段编号【{}】重复");
    ErrorCode AIR_DEMAND_ROUTE_SEGMENT_SERIALNO_EXISTS = new ErrorCode(1906103002, "机票需求订单方案行程航段编号【{}】已存在");

    // 机票需求单方案价格
    ErrorCode AIR_DEMAND_PRICE_NOT_EXISTS = new ErrorCode(1906104000, "机票需求订单方案价格不存在");
    ErrorCode AIR_DEMAND_PRICE_PASSENGER_TYPE_NOT_UNIQUE = new ErrorCode(1906104001, "机票需求订单方案价格乘客类型【{}】重复");

    // 机票订单
    ErrorCode AIR_ORDER_NOT_EXISTS = new ErrorCode(1906105000, "机票订单不存在");
    ErrorCode AIR_ORDER_NO_EXISTS = new ErrorCode(1906105001, "生成订单号失败，请重新提交");
    ErrorCode AIR_ORDER_PNR_EXISTS = new ErrorCode(1906105002, "编码【{}】已存在，请重检查后再提交");
    ErrorCode AIR_ORDER_TYPE_NOT_SUPPORT = new ErrorCode(1906105003, "不支持的机票订单类型【{}】");
    ErrorCode AIR_ORDER_CREATE_SALESMAN_NOT_EXISTS = new ErrorCode(1906105004, "业务员不存在，请检查客户业务员设置");
    ErrorCode AIR_ORDER_CANCELED_NOT_ALLOW_CONFIRM = new ErrorCode(1906105005, "订单已取消不能确认，请刷新后检查订单状态");
    ErrorCode AIR_ORDER_CONFIRMED_NOT_ALLOW_CONFIRM = new ErrorCode(1906105006, "订单已确认，无需重复操作，请刷新后检查订单状态");
    ErrorCode AIR_ORDER_CANCELED_NOT_ALLOW_CANCEL = new ErrorCode(1906105007, "订单已取消，无需重复操作，请刷新后检查订单状态");
    ErrorCode AIR_ORDER_CONFIRMED_NOT_ALLOW_CANCEL = new ErrorCode(1906105008, "订单已确认，不允许取消，请刷新后检查订单状态");
    ErrorCode AIR_ORDER_LOCKED_NOT_ALLOW_LOCK = new ErrorCode(1906105009, "订单已被【{}】锁定，请刷新后检查锁订状态");
    ErrorCode AIR_ORDER_UNLOCKED_NOT_ALLOW_UNLOCK = new ErrorCode(1906105010, "订单未锁定，无需解锁，请刷新后检查锁订状态");
    ErrorCode AIR_ORDER_NOT_LOCKER_NOT_ALLOW_UNLOCK = new ErrorCode(1906105011, "您不是锁定人，请联系【{}】进行解锁");
    ErrorCode AIR_ORDER_CANCELED_NOT_ALLOW_AUDIT = new ErrorCode(1906105012, "订单已取消不能审核，请刷新后检查订单状态");
    ErrorCode AIR_ORDER_AUDITED_NOT_ALLOW_AUDIT = new ErrorCode(1906105013, "订单已审核，无需重复操作，请刷新后检查订单状态");
    ErrorCode AIR_ORDER_NOT_LOCKER_NOT_ALLOW_UPDATE = new ErrorCode(1906105014, "请先锁定订单再进行修改");
    ErrorCode AIR_ORDER_CREATE_DELIVERY_USER_NOT_EXISTS = new ErrorCode(1906105015, "配送员不存在，请检查用户信息");
    ErrorCode AIR_ORDER_CREATE_BOOK_USER_NOT_EXISTS = new ErrorCode(1906105016, "预订员不存在，请检查用户信息");
    ErrorCode AIR_ORDER_NOT_LOCKER_NOT_ALLOW_ISSUED = new ErrorCode(1906105017, "请先锁定订单再进行完成出票");
    ErrorCode AIR_ORDER_ISSUED_NOT_ALLOW_ISSUED = new ErrorCode(1906105018, "订单已完成出票，无需重复操作");
    ErrorCode AIR_ORDER_NOT_LOCKER_NOT_ALLOW_APPLY_CHANGE = new ErrorCode(1906105019, "请先锁定订单再进行申请改签");
    ErrorCode AIR_ORDER_NOT_ISSUED_NOT_ALLOW_APPLY_CHANGE = new ErrorCode(1906105020, "非【已出票】订单不允许申请改签");
    ErrorCode AIR_ORDER_APPLY_ROUTE_ERROR_NOT_ALLOW_APPLY_CHANGE = new ErrorCode(1906105021, "提交改签信息有误，未查询到原单行程信息，请检查");
    ErrorCode AIR_ORDER_APPLY_PASSENGER_ERROR_NOT_ALLOW_APPLY_CHANGE = new ErrorCode(1906105022, "提交改签信息有误，未查询到原单乘客信息，请检查");
    ErrorCode AIR_ORDER_APPLY_PRICE_ERROR_NOT_ALLOW_APPLY_CHANGE = new ErrorCode(1906105023, "提交改签信息有误，未查询到原单价格信息，请检查");
    ErrorCode AIR_ORDER_NOT_LOCKER_NOT_ALLOW_APPLY_RETURN = new ErrorCode(1906105024, "请先锁定订单再进行申请退票");
    ErrorCode AIR_ORDER_APPLY_ROUTE_ERROR_NOT_ALLOW_APPLY_RETURN = new ErrorCode(1906105025, "提交退票信息有误，未查询到原单行程信息，请检查");
    ErrorCode AIR_ORDER_APPLY_PASSENGER_ERROR_NOT_ALLOW_APPLY_RETURN = new ErrorCode(1906105026, "提交退票信息有误，未查询到原单乘客信息，请检查");
    ErrorCode AIR_ORDER_APPLY_PRICE_ERROR_NOT_ALLOW_APPLY_RETURN = new ErrorCode(1906105027, "提交退票信息有误，未查询到原单价格信息，请检查");
    ErrorCode AIR_ORDER_NOT_LOCKER_NOT_ALLOW_ISSUE = new ErrorCode(1906105028, "请先锁定订单再进行出票");
    ErrorCode AIR_ORDER_NOT_SUPPORT_TYPE_NOT_ALLOW_ISSUE = new ErrorCode(1906105029, "非【销售单】不支持自动出票");
    ErrorCode AIR_ORDER_NOT_ADULT_NOT_ALLOW_ISSUE = new ErrorCode(1906105030, "非成人订单不支持自动出票");
    ErrorCode AIR_ORDER_CHANNEL_NOT_EXISTS_NOT_ALLOW_ISSUE = new ErrorCode(1906105031, "出票渠道不存在，不允许自动出票，请联系管理员");
    ErrorCode AIR_ORDER_CHANNEL_DISABLED_NOT_ALLOW_ISSUE = new ErrorCode(1906105032, "出票渠道已停用，不允许自动出票，请联系管理员");
    ErrorCode AIR_ORDER_CHANNEL_PAY_SUBJECT_NOT_EXISTS_NOT_ALLOW_ISSUE = new ErrorCode(1906105033, "出票渠道【{}】未设置支付科目，不允许自动出票，请联系管理员");
    ErrorCode AIR_ORDER_CHANNEL_TYPE_NOT_EXISTS_NOT_ALLOW_ISSUE = new ErrorCode(1906105034, "出票渠道【{}】未设置票证类型，不允许自动出票，请联系管理员");
    ErrorCode AIR_ORDER_CHANNEL_NOT_APPLY_ISSUE_NOT_ALLOW_ISSUE = new ErrorCode(1906105035, "出票渠道【{}】未设置出票场景，不允许自动出票，请联系管理员");
    ErrorCode AIR_ORDER_NOT_WAIT_ISSUE_NOT_ALLOW_REFUSE_ISSUE = new ErrorCode(1906105036, "订单非【待出票】状态，不允许拒单，请刷新后检查订单状态");

    // 机票订单行程
    ErrorCode AIR_ORDER_ROUTE_NOT_EXISTS = new ErrorCode(1906106000, "机票订单行程不存在");

    // 机票订单乘客
    ErrorCode AIR_ORDER_PASSENGER_NOT_EXISTS = new ErrorCode(1906107000, "机票订单乘客不存在");

    // 机票订单价格
    ErrorCode AIR_ORDER_PRICE_NOT_EXISTS = new ErrorCode(1906108000, "机票订单价格不存在");

    // 机票订单PNR日志
    ErrorCode AIR_ORDER_PNR_LOG_NOT_EXISTS = new ErrorCode(1906109000, "机票订单PNR日志不存在");

    // 机票客户端-新港
    ErrorCode AIR_SUNSTN_API_HOST_NOT_NULL = new ErrorCode(1906110000, "SUNSTN接口【主机】不能为空");
    ErrorCode AIR_SUNSTN_API_PORT_NOT_NULL = new ErrorCode(1906110001, "SUNSTN接口【端口】不能为空");
    ErrorCode AIR_SUNSTN_API_OFFICE_NOT_NULL = new ErrorCode(1906110002, "SUNSTN接口调用异常【{}】");
    ErrorCode AIR_SUNSTN_API_CALL_EXCEPTION = new ErrorCode(1906110003, "SUNSTN接口【{}】调用异常【{}】");

    // 机票客户端-去哪儿
    ErrorCode AIR_QUNAR_API_HOST_NOT_NULL = new ErrorCode(1906111000, "去哪儿接口【主机】不能为空");
    ErrorCode AIR_QUNAR_API_PORT_NOT_NULL = new ErrorCode(1906111001, "去哪儿接口【端口】不能为空");
    ErrorCode AIR_QUNAR_API_TOKEN_NOT_NULL = new ErrorCode(1906111002, "去哪儿接口【账号】不能为空");
    ErrorCode AIR_QUNAR_API_SECRET_NOT_NULL = new ErrorCode(1906111003, "去哪儿接口【密钥】不能为空");
    ErrorCode AIR_QUNAR_API_CALL_EXCEPTION = new ErrorCode(1906111004, "去哪儿接口【{}】调用异常【{}】");

    // 机票客户端-小太阳
    ErrorCode AIR_SKYECHO_API_HOST_NOT_NULL = new ErrorCode(1906112000, "ETERM接口【主机】不能为空");
    ErrorCode AIR_SKYECHO_API_PORT_NOT_NULL = new ErrorCode(1906112001, "ETERM接口【端口】不能为空");
    ErrorCode AIR_SKYECHO_API_CALL_EXCEPTION = new ErrorCode(1906112003, "ETERM接口【{}】调用异常【{}】");

    // 机票接口
    ErrorCode AIR_API_SEARCH_CHANNEL_NOT_EXISTS = new ErrorCode(1906113000, "订座失败，机票查询渠道【{}】不存在，请联系管理员");
    ErrorCode AIR_API_SEARCH_CHANNEL_DISABLED = new ErrorCode(1906113001, "订座失败，机票查询渠道【{}】已停用，请联系管理员");
    ErrorCode AIR_API_SEARCH_CHANNEL_BOOKING_CHANNEL_NOT_EXISTS = new ErrorCode(1906113002, "订座失败，机票查询渠道【{}】未设置预订渠道，请联系管理员");
    ErrorCode AIR_API_BOOKING_CHANNEL_NOT_EXISTS = new ErrorCode(1906113003, "订座失败，机票预订渠道【{}】不存在，请联系管理员");
    ErrorCode AIR_API_CANCEL_CHANNEL_NOT_EXISTS = new ErrorCode(1906113004, "取消失败，机票预订渠道【{}】不存在，请联系管理员");
    ErrorCode AIR_API_CANCEL_CHANNEL_DISABLED = new ErrorCode(1906113005, "取消失败，机票预订渠道【{}】已停用，请联系管理员");
    ErrorCode AIR_API_ISSUE_CHANNEL_NOT_EXISTS = new ErrorCode(1906113006, "出票失败，机票出票渠道【{}】不存在，请联系管理员");
    ErrorCode AIR_API_ISSUE_CHANNEL_DISABLED = new ErrorCode(1906113007, "出票失败，机票出票渠道【{}】已停用，请联系管理员");
    ErrorCode AIR_API_ISSUE_CHANNEL_SCOPE_TYPE_NOT_EXISTS = new ErrorCode(1906113008, "出票失败，机票出票渠道【{}】未维护【{}】出票设置，请联系管理员");
    ErrorCode AIR_API_ISSUE_CHANNEL_TICKET_VENDING_MACHINE_NO_NOT_EXISTS = new ErrorCode(1906113009, "出票失败，机票出票渠道【{}】未设置默认打票机号，请联系管理员");
    ErrorCode AIR_API_ISSUE_CHANNEL_CARD_NO_NOT_EXISTS = new ErrorCode(1906113010, "出票失败，机票UATP出票渠道【{}】未设置默认卡号，请联系管理员");
    ErrorCode AIR_API_ISSUE_CHANNEL_CARD_NO_VALID_DATE_NOT_EXISTS = new ErrorCode(1906113010, "出票失败，机票UATP出票渠道【{}】卡号和有效期不能为空，请联系管理员");
}
